import java.util.Arrays;
import java.util.Random;

public class day6 {
    public static void main(String[] args) {
        int[] arr = {25,2,3,4,25,44};
        printArrayData(arr);

        Random rand = new Random();
        int[] as = new int[10];
        for(int i=0;i<as.length;i++){
            as[i] = rand.nextInt(100);
        }
        printArrayData(as);
        int[] arr3 = {24,3,4,854,85,4};
        int max = getMaxOfArray(arr3);
        System.out.println(max);

        int[] as2 = new int[10];
        for(int i=0;i<as2.length;i++){
            as2[i] = (int)(Math.random()*100);
        }
        int m = getMaxOfArray(as);
        System.out.println(m);

        int[] arr2 = new int[10];
        for(int i=0;i<arr2.length;i++){
            arr2[i] = (int)(Math.random()*100);
            System.out.println(arr2[i]);
        }

        int max2 = arr[0]; //假设第1个元素为最大值
        for(int i=1;i<arr.length;i++){ //遍历剩余元素
            if(arr[i]>max2){   //若剩余元素大于max
                max2 = arr[i]; //则将max修改为较大的
            }
        }
        System.out.println("最大值为:"+max2);

        arr = Arrays.copyOf(arr,arr.length+1); //扩容
        arr[arr.length-1] = max2; //将最大值max放到最后一个元素上
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }

        double a = getNum(); //getNum()值就是return后那个数
        System.out.println(a); //8.88，模拟对返回值的后续操作

        int b = plus(5,6);
        System.out.println(b); //11，模拟对返回值的后续操作
        int m2=5,n=6;
        int c = plus(m2,n); //传递的是m和n里面的数
        System.out.println(c); //11，模拟对返回值的后续操作

        int[] d = generateArray(5,100); //模拟第1个人的访问
        System.out.println("数组的长度为:"+d.length); //10---模拟对返回值的后续操作
        for(int i=0;i<d.length;i++){ //---模拟对返回值的后续操作
            System.out.println(d[i]);
        }

        int[] e = generateArray(8,20); //模拟第2个人的访问
        System.out.println("第1个元素的值:"+e[0]); //?---模拟对返回值的后续操作
        for(int i=0;i<e.length;i++){ //---模拟对返回值的后续操作
            System.out.println(e[i]);
        }
    }
    public static void printArrayData(int[] arr){
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
    }

    public static int getMaxOfArray(int[] arr){
        int max = arr[0]; //假设第1个元素为最大值
        for(int i=1;i<arr.length;i++){ //遍历剩余元素
            if(arr[i]>max){   //若剩余元素大于max
                max = arr[i]; //将max修改为较大的
            }
        }
        return max;
    }

    //无参无返回值
    public static void say(){
        System.out.println("大家好，我叫hhhh，今年23岁了");
    }

    //有参无返回值
    public static void say(String name){
        System.out.println("大家好，我叫"+name+"，今年38岁了");
    }

    //有参无返回值
    public static void say(String name,int age){
        if(age>=60){ //在某种特定条件下，提前结束方法
            return; //结束方法的执行
        }
        System.out.println("大家好，我叫"+name+"，今年"+age+"岁了");
    }
    //无参有返回值
    public static double getNum(){
        //return "abc"; //编译错误，返回值类型不匹配
        return 8.88; //1)结束方法的执行  2)返回结果给调用方
    }

    //有参有返回值
    public static int plus(int num1,int num2){
        int num = num1+num2;
        return num; //返回的是num里面的那个数
        //return num1+num2; //返回num1与num2的和
    }

    //无参有返回值
    public static int[] generateArray(int len,int max){
        Random rand = new Random();
        int[] arr = new int[len];
        for(int i=0;i<arr.length;i++){
            arr[i] = rand.nextInt(max+1);
        }
        return arr;
    }



}
